/*
 * Copyright (c) 2008-2017 浩瀚深度 All Rights Reserved.
 *
 * FileName: ZmqConstant.java
 *
 * Description：
 *
 * History:
 * v1.0.0, zmw, 2017年8月11日, Create
 */
package com.monitor.config.zmq;

/**
 * @author zmw
 * @version 1.0.0
 * @since 1.0.0
 */
public class ZmqConstant {
    /**
     *
     */
    private ZmqConstant() {
    }

    /**
     * 长报文的ZMQ头
     */
    public static final int HEADER_LENGTH_LONG = 11;
    /**
     * 短报文的ZMQ头
     */
    public static final int HEADER_LENGTH_SHORT = 4;
    /**
     * ZMQ头的标准长度
     */
    public static final int HEADER_LENGTH_STANDARD = 3;

    /**
     * ZMQ头的握手返回字段长度（REP-REQ模式）
     */
    public static final int LENGTH_SHAKE_HAND_REP_REQ = 91;

    /**
     * ZMQ头的握手返回字段长度（ROUTER-DEALER模式）
     */
    public static final int LENGTH_SHAKE_HAND_ROUTER_DEALER = 97;

    /**
     * ZMQ的长报文标示
     */
    public static final int MARK_LONG_HEADER = 2;
    /**
     * ZMQ的短报文标示
     */
    public static final int MARK_SHORT_HEADER = 0;
    /**
     * ZMQ的短报文长度
     */
    public static final int MARK_SHORT_LENGTH = 255;


    /**
     * ZMQ握手信息
     */
    public static final byte[] DATA_ZMQ_SHAKE = new byte[]{
            (byte) 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x01, 0x7f, 0x03, 0x00, 0x4e, 0x55, 0x4c, 0x4c,
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
            0x04, 0x26, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59,
            0x0b, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x2d,
            0x54, 0x79, 0x70, 0x65, 0x00, 0x00, 0x00, 0x03,
            0x52, 0x45, 0x51, 0x08, 0x49, 0x64, 0x65, 0x6e,
            0x74, 0x69, 0x74, 0x79, 0x00, 0x00, 0x00, 0x00
    };
    /**
     * ZMQ标准头的格式
     */
    public static final byte[] DATA_ZMQ_SHORTHEADER = new byte[]{0x01, 0x00, 0x00};
    /**
     * 长命令报文格式
     */
    public static final byte[] DATA_ZMQ_LONGHEADER = new byte[]{0x01, 0x00, 0x02};
}
